home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / mempolicy.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  57 lines

  1. #ifndef _LINUX_MEMPOLICY_H
  2. #define _LINUX_MEMPOLICY_H 1
  3.  
  4. #include <linux/errno.h>
  5.  
  6. /*
  7.  * NUMA memory policies for Linux.
  8.  * Copyright 2003,2004 Andi Kleen SuSE Labs
  9.  */
  10.  
  11. /*
  12.  * Both the MPOL_* mempolicy mode and the MPOL_F_* optional mode flags are
  13.  * passed by the user to either set_mempolicy() or mbind() in an 'int' actual.
  14.  * The MPOL_MODE_FLAGS macro determines the legal set of optional mode flags.
  15.  */
  16.  
  17. /* Policies */
  18. enum {
  19.     MPOL_DEFAULT,
  20.     MPOL_PREFERRED,
  21.     MPOL_BIND,
  22.     MPOL_INTERLEAVE,
  23.     MPOL_MAX,    /* always last member of enum */
  24. };
  25.  
  26. /* Flags for set_mempolicy */
  27. #define MPOL_F_STATIC_NODES    (1 << 15)
  28. #define MPOL_F_RELATIVE_NODES    (1 << 14)
  29.  
  30. /*
  31.  * MPOL_MODE_FLAGS is the union of all possible optional mode flags passed to
  32.  * either set_mempolicy() or mbind().
  33.  */
  34. #define MPOL_MODE_FLAGS    (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES)
  35.  
  36. /* Flags for get_mempolicy */
  37. #define MPOL_F_NODE    (1<<0)    /* return next IL mode instead of node mask */
  38. #define MPOL_F_ADDR    (1<<1)    /* look up vma using address */
  39. #define MPOL_F_MEMS_ALLOWED (1<<2) /* return allowed memories */
  40.  
  41. /* Flags for mbind */
  42. #define MPOL_MF_STRICT    (1<<0)    /* Verify existing pages in the mapping */
  43. #define MPOL_MF_MOVE    (1<<1)    /* Move pages owned by this process to conform to mapping */
  44. #define MPOL_MF_MOVE_ALL (1<<2)    /* Move every page to conform to mapping */
  45. #define MPOL_MF_INTERNAL (1<<3)    /* Internal flags start here */
  46.  
  47. /*
  48.  * Internal flags that share the struct mempolicy flags word with
  49.  * "mode flags".  These flags are allocated from bit 0 up, as they
  50.  * are never OR'ed into the mode in mempolicy API arguments.
  51.  */
  52. #define MPOL_F_SHARED  (1 << 0)    /* identify shared policies */
  53. #define MPOL_F_LOCAL   (1 << 1)    /* preferred local allocation */
  54.  
  55.  
  56. #endif
  57.